//警告：这是自动生成的代码，不要手动去修改.
//使用 wrapCLI 工具生成，工具版本为 <0.1.6>.

#include <Windows.h>
#include <stdio.h>
#include "wrap.h"
namespace TTFramework {
    deleAPP_SetLogger APP_SetLogger;
    deleApp_MainLoop App_MainLoop;
    deleEditor_MainLoop Editor_MainLoop;
    deleGetFocusWindowID GetFocusWindowID;
    deleGetMousePos GetMousePos;
    deleEvents_RegMouse Events_RegMouse;
    deleEvents_RegKey Events_RegKey;
    deleEvents_RegTouch Events_RegTouch;
    deleWindow_GetMainWinID Window_GetMainWinID;
    deleWindow_Create Window_Create;
    deleWindow_Exists Window_Exists;
    deleWindow_SetPos Window_SetPos;
    deleWindow_GetPos Window_GetPos;
    deleWindow_Destory Window_Destory;
    deleTarget_Create Target_Create;
    deleTarget_Destory Target_Destory;
    deleTarget_Reset Target_Reset;
    deleMainScreen_Reset MainScreen_Reset;
    deleFrame_BeginRender Frame_BeginRender;
    deleFrame_EndRender Frame_EndRender;
    deleFrame_Clear Frame_Clear;
    deleFrame_Draw Frame_Draw;
    deleFrame_Begin Frame_Begin;
    deleFrame_Flush Frame_Flush;
    deleTexture_LoadFromFile Texture_LoadFromFile;
    deleTexture_LoadFromMem Texture_LoadFromMem;
    deleTexture_Create Texture_Create;
    deleTexture_Upload Texture_Upload;
    deleTexture_Destory Texture_Destory;
    deleMaterial_CreateDefault Material_CreateDefault;
    deleMaterial_CreateDefaultOutline Material_CreateDefaultOutline;
    deleMaterial_CreateDefaultTexture Material_CreateDefaultTexture;
    deleMaterial_Create Material_Create;
    deleMaterial_Destory Material_Destory;
    deleMaterial_GetUniformCount Material_GetUniformCount;
    deleMaterial_GetUniformName Material_GetUniformName;
    deleMaterial_GetUniformNameHash Material_GetUniformNameHash;
    deleMaterial_GetUniformType Material_GetUniformType;
    deleMaterial_SetTexture Material_SetTexture;
    deleMaterial_SetVec4 Material_SetVec4;
    deleMesh_CreateSample Mesh_CreateSample;
    deleMesh_Create Mesh_Create;
    deleMesh_Destory Mesh_Destory;
    deleMesh_GetVertexStride Mesh_GetVertexStride;
    deleMeshDynamic_Create MeshDynamic_Create;
    deleMeshDynamic_UploadVertex MeshDynamic_UploadVertex;
    deleMeshDynamic_UploadIndex MeshDynamic_UploadIndex;
    deleMatrix_Test Matrix_Test;
    deleMatrix_SetViewProj Matrix_SetViewProj;
    deleMatrix_SetModel Matrix_SetModel;
    deleMatrix_GenIdentity Matrix_GenIdentity;
    deleMatrix_GenOrtho Matrix_GenOrtho;
    deleMatrix_GenProj Matrix_GenProj;
    deleMatrix_GenViewLookAt Matrix_GenViewLookAt;
    deleMatrix_GenRotate Matrix_GenRotate;
    int LoadDLL(){
        HMODULE hDll = LoadLibrary(TEXT("../../../../../../dotenv/out/debug/Native.Core.dll"));
        if (hDll == NULL){printf("load dll ../../../../../../dotenv/out/debug/Native.Core.dll error.\n", hDll);return -1;}
        APP_SetLogger = (deleAPP_SetLogger)GetProcAddress(hDll, "APP_SetLogger");
        App_MainLoop = (deleApp_MainLoop)GetProcAddress(hDll, "App_MainLoop");
        Editor_MainLoop = (deleEditor_MainLoop)GetProcAddress(hDll, "Editor_MainLoop");
        GetFocusWindowID = (deleGetFocusWindowID)GetProcAddress(hDll, "GetFocusWindowID");
        GetMousePos = (deleGetMousePos)GetProcAddress(hDll, "GetMousePos");
        Events_RegMouse = (deleEvents_RegMouse)GetProcAddress(hDll, "Events_RegMouse");
        Events_RegKey = (deleEvents_RegKey)GetProcAddress(hDll, "Events_RegKey");
        Events_RegTouch = (deleEvents_RegTouch)GetProcAddress(hDll, "Events_RegTouch");
        Window_GetMainWinID = (deleWindow_GetMainWinID)GetProcAddress(hDll, "Window_GetMainWinID");
        Window_Create = (deleWindow_Create)GetProcAddress(hDll, "Window_Create");
        Window_Exists = (deleWindow_Exists)GetProcAddress(hDll, "Window_Exists");
        Window_SetPos = (deleWindow_SetPos)GetProcAddress(hDll, "Window_SetPos");
        Window_GetPos = (deleWindow_GetPos)GetProcAddress(hDll, "Window_GetPos");
        Window_Destory = (deleWindow_Destory)GetProcAddress(hDll, "Window_Destory");
        Target_Create = (deleTarget_Create)GetProcAddress(hDll, "Target_Create");
        Target_Destory = (deleTarget_Destory)GetProcAddress(hDll, "Target_Destory");
        Target_Reset = (deleTarget_Reset)GetProcAddress(hDll, "Target_Reset");
        MainScreen_Reset = (deleMainScreen_Reset)GetProcAddress(hDll, "MainScreen_Reset");
        Frame_BeginRender = (deleFrame_BeginRender)GetProcAddress(hDll, "Frame_BeginRender");
        Frame_EndRender = (deleFrame_EndRender)GetProcAddress(hDll, "Frame_EndRender");
        Frame_Clear = (deleFrame_Clear)GetProcAddress(hDll, "Frame_Clear");
        Frame_Draw = (deleFrame_Draw)GetProcAddress(hDll, "Frame_Draw");
        Frame_Begin = (deleFrame_Begin)GetProcAddress(hDll, "Frame_Begin");
        Frame_Flush = (deleFrame_Flush)GetProcAddress(hDll, "Frame_Flush");
        Texture_LoadFromFile = (deleTexture_LoadFromFile)GetProcAddress(hDll, "Texture_LoadFromFile");
        Texture_LoadFromMem = (deleTexture_LoadFromMem)GetProcAddress(hDll, "Texture_LoadFromMem");
        Texture_Create = (deleTexture_Create)GetProcAddress(hDll, "Texture_Create");
        Texture_Upload = (deleTexture_Upload)GetProcAddress(hDll, "Texture_Upload");
        Texture_Destory = (deleTexture_Destory)GetProcAddress(hDll, "Texture_Destory");
        Material_CreateDefault = (deleMaterial_CreateDefault)GetProcAddress(hDll, "Material_CreateDefault");
        Material_CreateDefaultOutline = (deleMaterial_CreateDefaultOutline)GetProcAddress(hDll, "Material_CreateDefaultOutline");
        Material_CreateDefaultTexture = (deleMaterial_CreateDefaultTexture)GetProcAddress(hDll, "Material_CreateDefaultTexture");
        Material_Create = (deleMaterial_Create)GetProcAddress(hDll, "Material_Create");
        Material_Destory = (deleMaterial_Destory)GetProcAddress(hDll, "Material_Destory");
        Material_GetUniformCount = (deleMaterial_GetUniformCount)GetProcAddress(hDll, "Material_GetUniformCount");
        Material_GetUniformName = (deleMaterial_GetUniformName)GetProcAddress(hDll, "Material_GetUniformName");
        Material_GetUniformNameHash = (deleMaterial_GetUniformNameHash)GetProcAddress(hDll, "Material_GetUniformNameHash");
        Material_GetUniformType = (deleMaterial_GetUniformType)GetProcAddress(hDll, "Material_GetUniformType");
        Material_SetTexture = (deleMaterial_SetTexture)GetProcAddress(hDll, "Material_SetTexture");
        Material_SetVec4 = (deleMaterial_SetVec4)GetProcAddress(hDll, "Material_SetVec4");
        Mesh_CreateSample = (deleMesh_CreateSample)GetProcAddress(hDll, "Mesh_CreateSample");
        Mesh_Create = (deleMesh_Create)GetProcAddress(hDll, "Mesh_Create");
        Mesh_Destory = (deleMesh_Destory)GetProcAddress(hDll, "Mesh_Destory");
        Mesh_GetVertexStride = (deleMesh_GetVertexStride)GetProcAddress(hDll, "Mesh_GetVertexStride");
        MeshDynamic_Create = (deleMeshDynamic_Create)GetProcAddress(hDll, "MeshDynamic_Create");
        MeshDynamic_UploadVertex = (deleMeshDynamic_UploadVertex)GetProcAddress(hDll, "MeshDynamic_UploadVertex");
        MeshDynamic_UploadIndex = (deleMeshDynamic_UploadIndex)GetProcAddress(hDll, "MeshDynamic_UploadIndex");
        Matrix_Test = (deleMatrix_Test)GetProcAddress(hDll, "Matrix_Test");
        Matrix_SetViewProj = (deleMatrix_SetViewProj)GetProcAddress(hDll, "Matrix_SetViewProj");
        Matrix_SetModel = (deleMatrix_SetModel)GetProcAddress(hDll, "Matrix_SetModel");
        Matrix_GenIdentity = (deleMatrix_GenIdentity)GetProcAddress(hDll, "Matrix_GenIdentity");
        Matrix_GenOrtho = (deleMatrix_GenOrtho)GetProcAddress(hDll, "Matrix_GenOrtho");
        Matrix_GenProj = (deleMatrix_GenProj)GetProcAddress(hDll, "Matrix_GenProj");
        Matrix_GenViewLookAt = (deleMatrix_GenViewLookAt)GetProcAddress(hDll, "Matrix_GenViewLookAt");
        Matrix_GenRotate = (deleMatrix_GenRotate)GetProcAddress(hDll, "Matrix_GenRotate");
    }
}
